package MyTest;

import java.util.*;

public class Test1 {
    public static void main(String[] args) {
        ArrayList<Integer> list2 = new ArrayList<>();
        list2.add(1);
        list2.add(2);
        list2.add(3);
        list2.add(4);
        list2.add(5);
        List<Integer> list3 = list2.subList(1,3);//[1,3)

        list3.set(0,188);
        System.out.println(list3);//一般情况下 能够直接通过sout输出
        // 引用指向对象当中的内容的时候 此时一定重写toString方法

        System.out.println(list2.remove(new Integer(2)));
        System.out.println(list2.get(1));
        list2.set(0,99);
        list2.clear();
        System.out.println(list2);
    }
    public static void main1(String[] args) {
        int[] array = new int[0];
        System.out.println("hello");
        array[0] = 1;

    }
}

class Test2 {
    public static void main(String[] args) {
        List<String> list = new LinkedList<>(Arrays.asList("A", "B", "C"));
        ListIterator<String> lit = list.listIterator();

// 正向遍历并修改元素
        while (lit.hasNext()) {
            if (lit.next().equals("B")) {
                lit.set("X"); // 替换当前元素为"X"
            }
        }

// 反向遍历并添加元素

        while (lit.hasPrevious()) {
            if (lit.previous().equals("X")) {
                lit.add("Y"); // 在"X"后插入"Y"
            }
        }//往方向位置后插
        System.out.println(list);//[A, X, Y, C]
    }
}
